#ifndef VIN_BITMAPFONT_H_
#define VIN_BITMAPFONT_H_
#include "CGame.h"
#include <string>
using std::string;
#define MENUFONT 0
#define GAMEFONT 1

struct Font
{
	string filename;
	int id;
	int x, y;
	int width, height;
	int xoffset, yoffset;
	int xadvance;

	void operator=(const Font& other)
	{
		this->x = other.x;
		this->y = other.y;
		this->width = other.width;
		this->height = other.height;
		this->id = other.id;
		this->xadvance = other.xadvance;
		this->xoffset = other.xoffset;
		this->yoffset = other.yoffset;
		this->filename = other.filename;
	}
};

class VIN_BitMapFont
{
private:
	Font m_nMenuFont[100], m_nGameFont[100];
	int MenuFontID, GameFontID;

protected:

public:
	VIN_BitMapFont();
	~VIN_BitMapFont();

	static VIN_BitMapFont* GetInstance()
	{ 
		static VIN_BitMapFont instance;
		return& instance;
	}
	void Startup();
	void Render(const char* TextToPrint, int posx, int posy, float scale, DWORD color, int GameFont);
	void Render(const char* TextToPrint, int posx, int posy, float scalex, float scaley, DWORD color, int GameFont);
	void Load(const char* filename, int GameFont);
};
#endif